package main

import (
	"context"
	"distributedService/log"
	"distributedService/service"
	"fmt"
	stlog "log"
)

func main() {
	log.Run("./distributed.log")
	host, port := "localhost", "4000"
	ctx, err := service.Start(
		context.Background(), // 创建一个空的、不可取消的、没有设置截止时间的Context对象
		"Log Service",
		host,
		port,
		log.RegisterHandlers,
	)

	if err != nil {
		stlog.Fatalln(err)
	}
	// 等等contenxt信号
	<-ctx.Done() // 返回一个chan，这个chan是用来完成传递信号，cancel()执行后阻塞一个信号，在这里能接受到，没有接受到之前就会一直阻塞在这里，保证main函数不会退出

	fmt.Println("Shutting down log service.")
}
